package com.maixun.lib_base.ui.dialog

import android.os.Bundle
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import androidx.fragment.app.FragmentManager

/**
 * @author:Lmoumou
 * @date:2020/9/3
 * 描述:
 **/
interface BaseDialog {
    /**
     * Dialog位置，默认居中
     * */
    fun getGravity(): Int = Gravity.CENTER

    /**
     * Dialog的宽度，默认WindowManager.LayoutParams.WRAP_CONTENT
     * */
    fun getDialogWith(): Int = WindowManager.LayoutParams.WRAP_CONTENT

    /**
     * Dialog的高度，默认WindowManager.LayoutParams.WRAP_CONTENT
     * */
    fun getDialogHeight(): Int = WindowManager.LayoutParams.WRAP_CONTENT

    /**
     * 背景透明度，默认0.5
     * */
    fun getDimAmount(): Float = 0.5F

    /**
     * 返回键是否可用，默认true
     * */
    fun isCanBackKey(): Boolean = true

    /**
     * 点击空白是否消失，默认true
     * */
    fun isCanBlank(): Boolean = true

    /**
     * 动画资源ID
     * */
    fun getAnimationResId(): Int = android.R.style.Animation_Dialog

    /**
     * 布局资源Id
     * */
    fun getLayoutId(): Int

    /**
     * 初始化布局
     * */
    fun initView(view: View, savedInstanceState: Bundle?)

    fun isShowIng(): Boolean

    fun dismissThis(isResume: Boolean)

    fun showThis(manager: FragmentManager, tag: String)

}